package com.midian.service.device;

import com.midian.common.exception.BizException;
import com.midian.model.device.Device;
import com.midian.service.common.IBaseService;

/**
 * 设备号表业务
 * @author Mengfh
 *
 */
public interface IDeviceService extends IBaseService<Device> {
	/**
	 * 保存或更新设备号
	 * @param device 设备号对象
	 * @throws BizException
	 * @return 返回设备号对象
	 */
	public Device saveOrUpdateDevice(Device device) throws BizException;
	
	/**
	 * 通过会员Id获取设备
	 * @param userId
	 * @return
	 */
	public Device getDeviceByUserId(String userId);
	
	/**
	 * 更改用户的推送接收状态
	 * @param userId 用户id
	 * @param receiveStatus 推送接收状态
	 * @throws BizException
	 */
	public void updateUserPushReceiveStatus(String userId, Integer receiveStatus) throws BizException;

	/**
	 * 清空该设备号的记录
	 * @param deviceToken 设备号
	 * @throws BizException
	 */
	public void clearByDeviceToken(String deviceToken) throws BizException;
	
	/**
	 * 更新前端类型
	 * @param userId 用户id
	 * @param frontType 前端类型 
	 */
	public void updateFrontType(String userId, String frontType) throws BizException;
	
	/**
	 * 根据用户id取出所有device无论isreceive值是多少
	 * @param userid
	 * @return
	 */
	public Device getAllDeviceByUserId(String userId);
}
